package lru;

import java.util.LinkedHashMap;
import java.util.Map;

public class LRUcache extends LinkedHashMap {
    private final int CACHE_SIZE;

    public LRUcache(int codesize){
        //true表示让linkedhashmap按照访问顺序进行排序，最近访问放在头部，最老访问放在尾部
        super((int) (Math.ceil(codesize/0.75)+1),0.75f,true);
        this.CACHE_SIZE = codesize;
    }

    @Override
    protected boolean removeEldestEntry(Map.Entry eldest) {
        //当map中数据量大于指定个数当时候，就自动删除最老当数据
        return size() > CACHE_SIZE;
    }
}
